﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using EMANIFEST.Dtos;
using System.IO;

namespace TestServiceXML
{
    /// <summary>
    /// Summary description for TestImportCrew
    /// </summary>
    [TestClass]
    public class TestImportCrew
    {
        public TestImportCrew()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test 
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        [TestMethod]
        public void TestCrew()
        {
            Guid docId = new Guid("DAB27624-2270-4C40-A977-8856C4A8388A");
            Guid userId = new Guid("a6827a2d-2821-449d-9927-897e7ae5fb4e");
            ImportExcelData.ImportExcelDataClient client = null;

            System.Console.WriteLine("Import Crew Test");
            try
            {
                ResponseDto ret;
                client = new ImportExcelData.ImportExcelDataClient();
                var filename = @"C:\EDT_Data\TemplateHQ - test - OK.xlsx";


                using (FileStream stream = new FileStream(@"C:\EDT_Data\TemplateHQ - test - OK.xlsx", FileMode.Open))
                {
                    filename = client.UploadFileData(stream);
                    System.Console.WriteLine("UploadFileData " + filename.ToString());


                    // Import Crew
                    Console.WriteLine("Import Crew Data");
                    ret = client.ImportCrewsData(docId, userId, "", filename, false, false);
                    Console.WriteLine(ret.IsSuccess + " " + ret.ErroeMessage);

                }
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException.Message);
            }
            finally
            {
                if (client != null) client.Close();
            }
        }
    }
}
